Integrated circuit (IC) devices intended for use within, for example, mobile devices, such as wireless communication devices, have to meet high performance requirements. In order to achieve maximum potential performance for individual IC devices, various operational conditions, such as process corner, temperature, etc. that affect the performance capabilities of individual IC devices must be compensated for. As such, it is known to implement voltage and/or frequency self-adjustment techniques that attempt to optimise performance of IC devices with respect to such device specific conditions.
A known technique for self-adjustment of the frequency of a functional module within an IC device comprises the use of a clock oscillator, such as a ring oscillator, that is representative of a critical path of the functional module. In this manner, such operational conditions also affect the clock oscillator, thereby allowing automatic adjustment of the frequency to compensate for such conditions.
However, these conventional techniques do not take into consideration variations in the performance and capabilities of the clock oscillators and functional modules, over time and/or through use. In particular, conventional techniques do not take into consideration differences between the ageing of the clock oscillators used to generate clock signals, as compared with the ageing of the functional modules that use such clock signals.
Two examples of causes of such ageing of clock oscillators and functional modules are Negative Bias Temperature Instability (NBTI) and Hot Carrier Injection (HCl). In the case of NBTI (ageing due to a presence of voltage on transistor gates), if a clock oscillator is used for multiple functional modules within an IC device that are independently powered, the clock oscillator will age faster than each individual functional module since the clock oscillator is required to be ‘powered’ if any one of the functional modules is powered. In the case of HCl (ageing due to switching activity), where a functional module is clocked on either a positive edge or a negative edge of a clock oscillator signal, the clock oscillator will switch at twice the rate of a respective functional module, and thus suffer twice the ageing effect.
As a result of this more aggressive ageing experienced by a clock oscillator, the performance of the clock oscillator will degrade at a greater rate than that of the functional module(s) reliant thereon. As such, as the performance of the clock oscillator degrades and the signal generated thereby slows over time, the potential performance of the functional module(s) reliant thereon will not be fully utilized.